package com.yuan.algorithms.practice201503;
/*
Problem Description
有一楼梯共M级，刚开始时你在第一级，若每次只能跨上一级或二级，要走上第M级，共有多少种走法？
Input
输入数据首先包含一个整数N，表示测试实例的个数，然后是N行数据，每行包含一个整数M（1<=M<=40）,表示楼梯的级数。
Output
对于每个测试实例，请输出不同走法的数量
Sample Input
2
2
3
Sample Output
1
2
 */
import java.util.Scanner;

public class 超级楼梯 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while (sc.hasNext()) {
			int N = sc.nextInt();
			for (int i = 0; i < N; i++) {
				int n = sc.nextInt();
				int a = 1, b = 2, c = 0;
				for (int j = 2; j <= n; j++) {
					if (j == 2) {
						c = 1;
					}else if (j == 3) {
						c = 2;
					}else {
						c = a + b;
						a = b;
						b = c;
					}
					
				}
				System.out.println(c);
			}
			
		}
	}
}
